home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 293_01 / t2.c < prev    next >
C/C++ Source or Header  |  1989-08-23  |  1KB  |  56 lines

  1. /*
  2.  *  Using FSEEK to position in a newly created file.
  3.  *  Writing forwards and backwards.
  4.  *
  5.  */
  6.  
  7. #include <stdio.h>
  8.  
  9. main()
  10. {
  11.   FILE *fp;
  12.   char c[32];
  13.   int i, j;
  14.   long int l;
  15.  
  16.   /* forwards */
  17.   if ((fp = fopen("t2f.tmp", "wb")) == NULL) {
  18.     printf("Error creating file\n");
  19.     exit(1);
  20.   }
  21.  
  22.   for (i = 0; i < 32; i++) {
  23.     l = (long) i * 32;
  24.     if (fseek(fp, l, SEEK_SET)) {
  25.       printf("Error seeking\n");
  26.       exit(1);
  27.     }
  28.     for (j = 0; j < 32; j++)
  29.       c[j] = i;
  30.     if (fwrite(c, sizeof(char), 32, fp) != 32*sizeof(char)) {
  31.       printf("Error writing\n");
  32.       exit(1);
  33.     }
  34.   }
  35.  
  36.   /* backwards */
  37.   if ((fp = freopen("t2b.tmp", "wb", fp)) == NULL) {
  38.     printf("Error creating file\n");
  39.     exit(1);
  40.   }
  41.  
  42.   for (i = 31; i >= 0; i--) {
  43.     l = (long) i * 32;
  44.     if (fseek(fp, l, SEEK_SET)) {
  45.       printf("Error seeking\n");
  46.       exit(1);
  47.     }
  48.     for (j = 0; j < 32; j++)
  49.       c[j] = i;
  50.     if (fwrite(c, sizeof(char), 32, fp) != 32*sizeof(char)) {
  51.       printf("Error writing\n");
  52.       exit(1);
  53.     }
  54.   }
  55. }
  56.